package com.ruoyi.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.dto.AfterSaleMaintenanceAddDTO;
import com.ruoyi.system.dto.AfterSaleMaintenanceQueryDTO;
import com.ruoyi.system.dto.AfterSaleMaintenanceUpdateDTO;
import com.ruoyi.system.entity.AfterSaleMaintenanceDO;
import com.ruoyi.system.vo.AfterSaleMaintenanceVO;

import java.util.List;

/**
 * 售后维护服务接口
 * 
 * @author ruoyi
 * @since 2024-01-01
 */
public interface IAfterSaleMaintenanceService extends IService<AfterSaleMaintenanceDO> {

    /**
     * 分页查询售后维护列表
     * 
     * @param queryDTO 查询条件
     * @param pageNum 页码
     * @param pageSize 每页数量
     * @return 售后维护列表
     */
    List<AfterSaleMaintenanceVO> selectAfterSaleMaintenanceList(AfterSaleMaintenanceQueryDTO queryDTO, int pageNum, int pageSize);

    /**
     * 根据ID查询售后维护详情
     * 
     * @param id 主键ID
     * @return 售后维护详情
     */
    AfterSaleMaintenanceVO selectAfterSaleMaintenanceById(Long id);

    /**
     * 新增售后维护
     * 
     * @param addDTO 新增参数
     * @return 新增结果
     */
    boolean insertAfterSaleMaintenance(AfterSaleMaintenanceAddDTO addDTO);

    /**
     * 修改售后维护
     * 
     * @param updateDTO 修改参数
     * @return 修改结果
     */
    boolean updateAfterSaleMaintenance(AfterSaleMaintenanceUpdateDTO updateDTO);

    /**
     * 批量删除售后维护
     * 
     * @param ids 需要删除的售后维护ID列表
     * @return 删除结果
     */
    boolean deleteAfterSaleMaintenanceByIds(List<Long> ids);

    /**
     * 删除售后维护信息
     * 
     * @param id 售后维护ID
     * @return 删除结果
     */
    boolean deleteAfterSaleMaintenanceById(Long id);
}
